In this project I am going to apply the Schwartz’s theory “Basic Values circle” (1992) to study human values of people in Sweden. I decided to consider the case of Sweden since Swedish society is based on two main principles - equality and solidarity among people, which reflects care for other people. Besides, there is a Swedish philosophy “Lagom”, which roughly translates to “not too much, not too little” - having what you need and nothing more. Hence, people there prefer moderation and restraint in every thing. I hypothesize that swedes have strong preferences for values of self-transcendence, and at the same time they do not like to show individual excellence in accordance with their philosophy “Lagom” - values of self-enhancement are not close to them. Thus, Sweden is an interesting case to apply Schwartz’s theory “Basic Values circle” (1992).
Data: European Social Survey (Round 9 - 2018): https://ess-search.nsd.no/en/study/bdc7c350-1029-4cb3-9d5e-53f668b8fa74
Below you can see a description of items and a meaning of corresponding values.
library(dplyr)
library(foreign)
library(haven)
library(ggplot2)
all_df <- read_sav("ESS.sav")
all_df <- all_df %>% haven::as_factor()
df <- all_df %>%
filter(cntry == "Sweden")
df <- df %>%
dplyr::select(- name, - essround, - edition, - proddate, - idno, - cntry, - dweight, -pspwght, - pweight, -anweight, - prob, - stratum, - psu)
df <- na.omit(df)
df <- droplevels(df) #drop missing values
Let’s explore the distribution of each 21 value item one by one to understand what human values appeal to swedes.
Most of the swedes think that universalism is important.
He thinks it is important that every person in the world should be treated equally. He believes everyone should have equal opportunities in life.
universalism_barplot <- df %>%
group_by(ipeqopt) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(universalism_barplot, aes(x = ipeqopt, y = percentage, fill = ipeqopt)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="Everyone should have equal opportunities in life") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him to listen to people who are different from him. Even when he disagrees with them, he still wants to understand them.
universalism_barplot <- df %>%
group_by(ipudrst) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(universalism_barplot, aes(x = ipudrst, y = percentage, fill = ipudrst)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is important to him to listen to people who are different from him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
He strongly believes that people should care for nature. Looking after the environment is important to him.
impenv_barplot <- df %>%
group_by(impenv) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(impenv_barplot, aes(x = impenv, y = percentage, fill = impenv)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He strongly believes that people should care for nature") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Benevolence appeals to the most swedes. For swedes (96%) it is especially important to devote himself to people close to him
It is very important to him to help the people around him. He wants to care for their well-being.
iphlppl_barplot <- df %>%
group_by(iphlppl) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(iphlppl_barplot, aes(x = iphlppl, y = percentage, fill = iphlppl)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is very important to him to help the people around him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him to be loyal to his friends. He wants to devote himself to people close to him.
iplylfr_barplot <- df %>%
group_by(iplylfr) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(iplylfr_barplot, aes(x = iplylfr, y = percentage, fill = iplylfr)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He wants to devote himself to people close to him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
As for modesty, most swedes (~75%) indeed try not to draw attention to themselves. As for tradition, it is not to highlty valued as modesty, but still more than a half of swedes tries to follow the custom handed down by religion or family.
It is important to him to be humble and modest. He tries not to draw attention to himself.
ipmodst_barplot <- df %>%
group_by(ipmodst) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipmodst_barplot, aes(x = ipmodst, y = percentage, fill = ipmodst)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is important to him to be humble and modest") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Tradition is important to him. He tries to follow the custom handed down by his religion or his family.
imptrad_barplot <- df %>%
group_by(imptrad) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(imptrad_barplot, aes(x = imptrad, y = percentage, fill = imptrad)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="Tradition is important to him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
As for conformity value, swedes split up approximately equally.
He believes that people should do what they are told. He thinks people should follow rules at all times, even when no one is watching.
ipfrule_barplot <- df %>%
group_by(ipfrule) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipfrule_barplot, aes(x = ipfrule, y = percentage, fill = ipfrule)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He believes that people should do what they are told") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him always to behave properly. He wants to avoid doing anything people would say is wrong.
ipbhprp_barplot <- df %>%
group_by(ipbhprp) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipbhprp_barplot, aes(x = ipbhprp, y = percentage, fill = ipbhprp)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He wants to avoid doing anything people would say is wrong") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
For a little more than a half of swedes security is important.
It is important to him to live in secure surroundings. He avoids anything that might endanger his safety.
impsafe_barplot <- df %>%
group_by(impsafe) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(impsafe_barplot, aes(x = impsafe, y = percentage, fill = impsafe)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He avoids anything that might endanger his safety") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him that the government ensures his safety against all threats. He wants the state to be strong so it can defend its citizens.
ipstrgv_barplot <- df %>%
group_by(ipstrgv) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipstrgv_barplot, aes(x = ipstrgv, y = percentage, fill = ipstrgv)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He wants the state to be strong so it can defend its citizens") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
As expected, most swedes (more than 80%) do not want to have a lot of money and expensive things. Lagom philosophy indeed reflects values of most swedes. As for respect from other people, swedes split up equally.
It is important to him to be rich. He wants to have a lot of money and expensive things.
imprich_barplot <- df %>%
group_by(imprich) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(imprich_barplot, aes(x = imprich, y = percentage, fill = imprich)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is important to him to be rich") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him to get respect from others. He wants people to do what he says.
iprspot_barplot <- df %>%
group_by(iprspot) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(iprspot_barplot, aes(x = iprspot, y = percentage, fill = iprspot)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is important to him to get respect from others") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Values of achievement also does not appeals most swedes (more than a half).
It is important to him to show his abilities. He wants people to admire what he does.
ipshabt_barplot <- df %>%
group_by(ipshabt) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipshabt_barplot, aes(x = ipshabt, y = percentage, fill = ipshabt)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="It is important to him to get respect from others") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Being very successful is important to him. He hopes people will recognize his achievements.
ipsuces_barplot <- df %>%
group_by(ipsuces) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipsuces_barplot, aes(x = ipsuces, y = percentage, fill = ipsuces)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="Being very successful is important to him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Having a good time and fun is important for more than 60% of swedes.
Having a good time is important to him. He likes to “spoil” himself.
ipgdtim_barplot <- df %>%
group_by(ipgdtim) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipgdtim_barplot, aes(x = ipgdtim, y = percentage, fill = ipgdtim)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="Having a good time is important to him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
He seeks every chance he can to have fun. It is important to him to do things that give him pleasure.
impfun_barplot <- df %>%
group_by(impfun) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(impfun_barplot, aes(x = impfun, y = percentage, fill = impfun)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He seeks every chance he can to have fun") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
About 60% of swedes like doing new things in life, but only ~ 40% looks for adventures and likes to take risks.
He likes surprises and is always looking for new things to do. He thinks it is important to do lots of different things in life.
impdiff_barplot <- df %>%
group_by(impdiff) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(impdiff_barplot, aes(x = impdiff, y = percentage, fill = impdiff)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He likes surprises and is always looking for new things to do") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
He looks for adventures and likes to take risks. He wants to have an exciting life.
ipadvnt_barplot <- df %>%
group_by(ipadvnt) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipadvnt_barplot, aes(x = ipadvnt, y = percentage, fill = ipadvnt)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He looks for adventures and likes to take risks") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
Self-direction is very important for most swedes.
Thinking up new ideas and being creative is important to him. He likes to do things in his own original way.
ipcrtiv_barplot <- df %>%
group_by(ipcrtiv) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(ipcrtiv_barplot, aes(x = ipcrtiv, y = percentage, fill = ipcrtiv)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="Thinking up new ideas and being creative is important to him") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
It is important to him to make his own decisions about what he does. He likes to be free and not depend on others.
impfree_barplot <- df %>%
group_by(impfree) %>%
dplyr::summarize(count = n()) %>%
mutate(percentage = count/sum(count))
ggplot(impfree_barplot, aes(x = impfree, y = percentage, fill = impfree)) +
geom_bar(stat='identity') +
geom_text(aes(label=scales::percent(percentage)), position = position_stack(vjust = .5)) +
scale_y_continuous(labels = scales::percent) +
labs(x="",
y="",
title="He likes to be free and not depend on others") +
scale_fill_manual("Level of education", values = c('#6a994e', '#a7c957', '#f2e8cf', '#ff6f59', '#db504a', '#bc4749')) +
theme_classic() +
theme(legend.position="none")
First of all, we need to run CFA to check whether the value theory of Schwartz (1992) can be validated on the swedish data.
Make all variables numeric:
df[sapply(df, is.factor)] <- lapply(df[sapply(df, is.factor)], as.numeric) #make variables numeric
Create a syntax for the respective theoretical model
library(lavaan)
model1 <- '
universalism =~ ipeqopt + ipudrst + impenv
benevolence =~ iphlppl + iplylfr
tradition =~ ipmodst + imptrad
conformity =~ ipfrule + ipbhprp
security =~ impsafe + ipstrgv
power =~ imprich + iprspot
achievement =~ ipshabt + ipsuces
hedonism =~ ipgdtim + impfun
stimulation =~ impdiff + ipadvnt
self_direction =~ ipcrtiv + impfree
'
fit <- cfa(model1, data = df)
summary(fit, standardized=TRUE, fit.measures=TRUE, modindices=FALSE)
## lavaan 0.6-12 ended normally after 65 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 87
##
## Number of observations 1462
##
## Model Test User Model:
##
## Test statistic 799.391
## Degrees of freedom 144
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 6520.033
## Degrees of freedom 210
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.896
## Tucker-Lewis Index (TLI) 0.849
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -45441.480
## Loglikelihood unrestricted model (H1) -45041.785
##
## Akaike (AIC) 91056.961
## Bayesian (BIC) 91516.978
## Sample-size adjusted Bayesian (BIC) 91240.607
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.056
## 90 Percent confidence interval - lower 0.052
## 90 Percent confidence interval - upper 0.060
## P-value RMSEA <= 0.05 0.006
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.047
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## universalism =~
## ipeqopt 1.000 0.502 0.520
## ipudrst 1.192 0.086 13.802 0.000 0.599 0.614
## impenv 0.859 0.075 11.475 0.000 0.431 0.436
## benevolence =~
## iphlppl 1.000 0.640 0.699
## iplylfr 0.774 0.047 16.441 0.000 0.496 0.596
## tradition =~
## ipmodst 1.000 0.474 0.402
## imptrad 0.876 0.080 11.019 0.000 0.415 0.293
## conformity =~
## ipfrule 1.000 0.806 0.585
## ipbhprp 1.037 0.063 16.336 0.000 0.836 0.642
## security =~
## impsafe 1.000 0.790 0.581
## ipstrgv 0.791 0.060 13.175 0.000 0.625 0.490
## power =~
## imprich 1.000 0.485 0.466
## iprspot 1.462 0.099 14.802 0.000 0.709 0.560
## achievement =~
## ipshabt 1.000 0.979 0.742
## ipsuces 0.976 0.044 22.191 0.000 0.955 0.750
## hedonism =~
## ipgdtim 1.000 0.825 0.661
## impfun 0.930 0.054 17.193 0.000 0.768 0.675
## stimulation =~
## impdiff 1.000 0.941 0.707
## ipadvnt 1.055 0.051 20.508 0.000 0.993 0.726
## self_direction =~
## ipcrtiv 1.000 0.560 0.494
## impfree 0.874 0.073 11.946 0.000 0.490 0.459
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## universalism ~~
## benevolence 0.264 0.021 12.448 0.000 0.821 0.821
## tradition 0.139 0.020 7.017 0.000 0.582 0.582
## conformity 0.091 0.020 4.492 0.000 0.224 0.224
## security 0.171 0.023 7.329 0.000 0.430 0.430
## power -0.001 0.013 -0.083 0.934 -0.004 -0.004
## achievement 0.087 0.021 4.110 0.000 0.177 0.177
## hedonism 0.157 0.021 7.481 0.000 0.379 0.379
## stimulation 0.147 0.022 6.675 0.000 0.312 0.312
## self_direction 0.172 0.020 8.677 0.000 0.613 0.613
## benevolence ~~
## tradition 0.233 0.024 9.668 0.000 0.770 0.770
## conformity 0.143 0.025 5.838 0.000 0.277 0.277
## security 0.240 0.028 8.715 0.000 0.475 0.475
## power 0.071 0.017 4.297 0.000 0.229 0.229
## achievement 0.161 0.026 6.214 0.000 0.257 0.257
## hedonism 0.273 0.026 10.537 0.000 0.517 0.517
## stimulation 0.192 0.026 7.396 0.000 0.319 0.319
## self_direction 0.200 0.022 8.935 0.000 0.557 0.557
## tradition ~~
## conformity 0.467 0.038 12.361 0.000 1.222 1.222
## security 0.382 0.036 10.584 0.000 1.021 1.021
## power 0.064 0.020 3.192 0.001 0.277 0.277
## achievement -0.070 0.031 -2.298 0.022 -0.151 -0.151
## hedonism 0.095 0.028 3.407 0.001 0.244 0.244
## stimulation -0.026 0.030 -0.856 0.392 -0.058 -0.058
## self_direction 0.005 0.024 0.213 0.832 0.019 0.019
## conformity ~~
## security 0.509 0.043 11.893 0.000 0.798 0.798
## power 0.282 0.027 10.352 0.000 0.721 0.721
## achievement 0.271 0.036 7.615 0.000 0.343 0.343
## hedonism 0.098 0.030 3.226 0.001 0.147 0.147
## stimulation -0.013 0.032 -0.398 0.691 -0.017 -0.017
## self_direction 0.032 0.026 1.221 0.222 0.071 0.071
## security ~~
## power 0.220 0.026 8.414 0.000 0.574 0.574
## achievement 0.300 0.038 7.888 0.000 0.388 0.388
## hedonism 0.198 0.034 5.881 0.000 0.304 0.304
## stimulation -0.072 0.035 -2.043 0.041 -0.097 -0.097
## self_direction 0.109 0.029 3.768 0.000 0.246 0.246
## power ~~
## achievement 0.451 0.033 13.504 0.000 0.950 0.950
## hedonism 0.211 0.024 8.852 0.000 0.528 0.528
## stimulation 0.204 0.025 8.172 0.000 0.448 0.448
## self_direction 0.148 0.020 7.338 0.000 0.545 0.545
## achievement ~~
## hedonism 0.372 0.036 10.283 0.000 0.460 0.460
## stimulation 0.480 0.040 11.897 0.000 0.521 0.521
## self_direction 0.298 0.032 9.372 0.000 0.543 0.543
## hedonism ~~
## stimulation 0.566 0.041 13.693 0.000 0.729 0.729
## self_direction 0.295 0.030 9.825 0.000 0.639 0.639
## stimulation ~~
## self_direction 0.430 0.036 12.073 0.000 0.816 0.816
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ipeqopt 0.681 0.031 22.287 0.000 0.681 0.730
## .ipudrst 0.592 0.032 18.785 0.000 0.592 0.623
## .impenv 0.794 0.033 24.116 0.000 0.794 0.810
## .iphlppl 0.430 0.028 15.549 0.000 0.430 0.512
## .iplylfr 0.445 0.021 20.884 0.000 0.445 0.645
## .ipmodst 1.167 0.060 19.349 0.000 1.167 0.839
## .imptrad 1.832 0.075 24.401 0.000 1.832 0.914
## .ipfrule 1.248 0.059 20.978 0.000 1.248 0.658
## .ipbhprp 1.000 0.055 18.258 0.000 1.000 0.588
## .impsafe 1.222 0.068 18.068 0.000 1.222 0.662
## .ipstrgv 1.237 0.056 22.277 0.000 1.237 0.760
## .imprich 0.847 0.036 23.373 0.000 0.847 0.783
## .iprspot 1.102 0.056 19.542 0.000 1.102 0.686
## .ipshabt 0.781 0.046 17.060 0.000 0.781 0.449
## .ipsuces 0.711 0.043 16.595 0.000 0.711 0.438
## .ipgdtim 0.880 0.048 18.228 0.000 0.880 0.564
## .impfun 0.702 0.040 17.425 0.000 0.702 0.544
## .impdiff 0.885 0.049 18.071 0.000 0.885 0.500
## .ipadvnt 0.884 0.052 16.971 0.000 0.884 0.473
## .ipcrtiv 0.973 0.048 20.267 0.000 0.973 0.756
## .impfree 0.897 0.041 21.812 0.000 0.897 0.789
## universalism 0.252 0.029 8.618 0.000 1.000 1.000
## benevolence 0.410 0.035 11.721 0.000 1.000 1.000
## tradition 0.224 0.051 4.438 0.000 1.000 1.000
## conformity 0.650 0.065 10.023 0.000 1.000 1.000
## security 0.624 0.072 8.696 0.000 1.000 1.000
## power 0.235 0.031 7.621 0.000 1.000 1.000
## achievement 0.958 0.068 14.180 0.000 1.000 1.000
## hedonism 0.681 0.060 11.442 0.000 1.000 1.000
## stimulation 0.885 0.067 13.134 0.000 1.000 1.000
## self_direction 0.314 0.044 7.051 0.000 1.000 1.000
-> In accordance with above indexes, the model is good, but
P-value of Chi-square equals to 0.000, which says to us that the model is different from data, but all important indexes confirmed that the model is good, thus, we can be sure in this model.
Thus, we can proceed with this theoretical model and our data on peoples’ values in Sweden.
In accordance with the article “Measuring the 4 Higher-Order Values in Schwartz’s Theory: A Validation of a 17-Item Inventory”, I should also check internal reliability of scales with Cronbach’s alpha (𝛼).
library(ltm)
df_universalism <- df %>%
dplyr::select(ipeqopt, ipudrst)
cronbach.alpha(df_universalism)
##
## Cronbach's alpha for the 'df_universalism' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.499
df_benevolence <- df %>%
dplyr::select(iphlppl, iplylfr)
cronbach.alpha(df_benevolence)
##
## Cronbach's alpha for the 'df_benevolence' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.586
df_tradition <- df %>%
dplyr::select(ipmodst, imptrad)
cronbach.alpha(df_tradition)
##
## Cronbach's alpha for the 'df_tradition' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.208
df_security <- df %>%
dplyr::select(impsafe, ipstrgv)
cronbach.alpha(df_security)
##
## Cronbach's alpha for the 'df_security' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.443
df_power <- df %>%
dplyr::select(imprich, iprspot)
cronbach.alpha(df_power)
##
## Cronbach's alpha for the 'df_power' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.408
df_achievement <- df %>%
dplyr::select(ipshabt, ipsuces)
cronbach.alpha(df_achievement)
##
## Cronbach's alpha for the 'df_achievement' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.715
df_hedonism <- df %>%
dplyr::select(ipgdtim, impfun)
cronbach.alpha(df_hedonism)
##
## Cronbach's alpha for the 'df_hedonism' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.615
df_stimulation <- df %>%
dplyr::select(impdiff, ipadvnt)
cronbach.alpha(df_stimulation)
##
## Cronbach's alpha for the 'df_stimulation' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.678
df_self_direction <- df %>%
dplyr::select(ipcrtiv, impfree)
cronbach.alpha(df_self_direction)
##
## Cronbach's alpha for the 'df_self_direction' data-set
##
## Items: 2
## Sample units: 1462
## alpha: 0.369
Most of the Cronbach’s alpha results are lower than 0.7, which is not acceptable. Thus, it is better to proceed working with all 21 variables, although CFA model was acceptable.
library(Seurat)
matrix <- data.matrix(df)
matrix_centered <- FastRowScale(matrix, center = TRUE, scale = FALSE)
df_centered <- as.data.frame(matrix_centered)
min(df_centered)
## [1] -3.52381
After centering rows, we get negative values, which is not acceptable for unfolding. Let’s add 4 to all values to make them non-negative
df_ready <- df_centered + 4
min(df_ready)
## [1] 0.4761905
Great!
Next crucial step is to transform our data from similarities to dissimilarities
library(smacof)
sd <- sim2diss(df_ready, method = "reverse")
As we work with rectangular matrix, we need to apply unfolding.
values_unf <- unfolding(sd)
values_unf
##
## Call: unfolding(delta = sd)
##
## Model: Rectangular smacof
## Number of subjects: 1462
## Number of objects: 21
## Transformation: none
## Conditionality: matrix
##
## Stress-1 value: 0.179169
## Penalized Stress: 3.852559
## Number of iterations: 506
plot(values_unf, plot.type = "stressplot")
Next I look at the SPP and check for influential observations. There are no influential outliers on the person side (1 observation has a SPP higher than 0.3).
On the variable side, the highest SPP values are the following:
imptrad - importance of traditions (8%);ipstrgv - important that government ensures his safety
against all threats (6.2%)ipfrule - thinks that people should do what they are
told (6.2%)impsafe - avoids anything that might endanger his
safety (6.2%).Other variables have SPP values lower than 6%.
I conclude that no variable and no observation is an obvious outlier, thus, we can proceed with all observations and all variables.
stressvec <- randomstress(n=21, ndim = 2, nrep = 100, type = "ordinal")
mean(stressvec)
## [1] 0.303621
permtest(values_unf, sd, nrep = 100, verbose = F)
##
## Call: permtest.smacofR(object = values_unf, data = sd, nrep = 100,
## verbose = F)
##
## SMACOF Permutation Test
## Number of objects: 1462
## Number of replications (permutations): 100
##
## Observed stress value: 0.179
## p-value: <0.001
library(ggplot2)
library(ggrepel)
conf_items <- as.data.frame(values_unf$conf.col)
ggplot(conf_items, aes(x = D1, y = D2)) +
geom_point(size = 1, colour = "red", alpha = 0.5) +
coord_fixed(xlim = c(-1.5, 1.5), ylim = c(-1.5, 1.5)) +
xlab("") +
ylab("") +
geom_point(aes(x = D1, y = D2), conf_items, colour = "cadetblue") +
geom_text_repel(aes(x = D1, y = D2, label = rownames(conf_items)),
conf_items, colour = "cadetblue", vjust = 0.8) +
ggtitle("Unfolding for Semantic Differential: Human Values of People in Sweden") +
theme_bw()
The graph below may be better for the ease of intepretation
This graph shows the location of all 21 items in a two-dimensional MDS space.
Findings:
The configurations of 21 items reflect the approximately circular structure of individual values of people in Sweden as hypothesized by Schwartz (1992), which is interesting result.
At the very top of the graph there are closely located items that
measure universalism (ipeqopt,
ipudrst, impenv) and
benevolence (iphlppl,
iplylfr) - corresponds to the theory. All these 5 items
oppose to variables located at the very bottom that measure
power (imprich, iprspot) and
achievement (ipshabt,
ipsuces). Such location of items corresponds to the theory
“The Schwartz Basic Values circle”, where self-enhancement
(power and achievement) is opposing to self-transcendence
(benevolence and universalism).
At the bottom right there are variables that measure
security (impsafe, ipstrgv),
tradition (one variable only - imptrad),
and conformity (ipfrule,
ipbhprp). One of the tradition item
ipmodst (It is important to him to be humble and modest) is
located between values of universalism and
benevolence and between security,
tradition, and conformity. All these 3
basic values (security, conformity, tradition) that generally reflect
conservation oppose to variables, that measure
self-direction (impfree,
ipcrtiv) and hedonism (one variable only -
impfun). Just below on the left there are other 3 variables
that measure hedonism (one variable only -
ipgdtim) and stimulation
(impdiff, ipadvnt) - all of them corresponds
to openness to change.
In general, the items intended to measure the same higher-order
value were consistently located close to each other (except for one of
the tradition item ipmodst), forming two
sets of opposing poles: Openness vs. Conservation and Self-Enhancement
vs. Self-Transcendence, respectively.